perm filename REF[206,LSP] blob sn#113691 filedate 1974-07-28 generic text, type T, neo UTF8

(DEFPROP REFL
 (REFL LREF DIFFER ALL REST LISTREF UUUU VVVV LISTREFA LISTVAL AAAA LISTDEF IMPORT UNIMPORTANT)
VALUE)

(DEFPROP LREF
 (LAMBDA(UUUU)
  (SETQ ALL NIL)
  (SETQ REST NIL)
  (LISTREF UUUU)
  (PROG	(VVVV)
   AA	(COND ((NULL REST) (RETURN NIL)))
	(SETQ VVVV (CAR REST))
	(SETQ REST (CDR REST))
	(LISTREFA VVVV)
	(GO AA)))
EXPR)

(DEFPROP DIFFER
 (LAMBDA(U V)
  (COND ((NULL U) NIL) ((MEMBER (CAR U) V) (DIFFER (CDR U) V)) (T (CONS (CAR U) (DIFFER (CDR U) V)))))
EXPR)

(DEFPROP ALL
 (ALL UNIMPORTANT IMPORT LISTDEF AAAA LISTVAL LISTREFA VVVV UUUU LISTREF REST ALL DIFFER LREF)
VALUE)

(DEFPROP REST
 (REST)
VALUE)

(DEFPROP LISTREF
 (LAMBDA(UUUU)
  (COND	((ATOM UUUU)
	 (COND
	  ((AND (IMPORT UUUU) (NOT (MEMBER UUUU ALL)))
	   (SETQ ALL (CONS UUUU ALL))
	   (SETQ REST (CONS UUUU REST)))))
	(T (LISTREF (CAR UUUU)) (LISTREF (CDR UUUU)))))
EXPR)

(DEFPROP LISTREFA
 (LAMBDA(AAAA)
  (LISTVAL (ERRSET (EVAL AAAA) NIL))
  (LISTDEF (GET AAAA (QUOTE EXPR)))
  (LISTDEF (GET AAAA (QUOTE FEXPR))))
EXPR)

(DEFPROP LISTVAL
 (LAMBDA (UUUU) (COND (UUUU (LISTREF (CAR UUUU)))))
EXPR)

(DEFPROP LISTDEF
 (LAMBDA (UUUU) (COND (UUUU (LISTREF (CDDR UUUU)))))
EXPR)

(DEFPROP IMPORT
 (LAMBDA(UUUU)
  (AND UUUU
       (NOT (OR (EQ UUUU T) (NUMBERP UUUU) (MEMBER UUUU UNIMPORTANT)))
       (OR (GET UUUU (QUOTE EXPR)) (GET UUUU (QUOTE FEXPR)) (ERRSET (EVAL UUUU) NIL))))
EXPR)

(DEFPROP UNIMPORTANT
 (UNIMPORTANT SELECTQ BASE *NOPOINT)
VALUE)